1. Field of the Invention
The present invention relates to an information processing apparatus for installing applications, a method of controlling the information processing apparatus, and a computer-readable storage medium storing a program for implementing such control.
2. Description of the Related Art
An information processing apparatus in which all application programs (also referred to simply as applications) have been embedded in firmware in advance is now equipped with a platform that enables applications to be installed dynamically. In such an information processing apparatus, it is possible for a device to be customized to the optimum configuration in conformity with usage by the user. Available as an application platform is the OSGi Service Platform (referred to as “OSGi” below), which is an embedded-device-oriented Java (registered trademark) application platform. OSGi defines bundles as units of software module management and defines the specifications for managing a life cycle comprising install, start, stop, update and uninstall. Such an application platform is capable of supplying an application with embedded functions such as copying, scanning and printing.
It is well known that when one application utilizes a management function or embedded function of an application platform as is without verification, this will have unpredictable effects upon other applications and the device proper. In general, therefore, operation verification is carried out for the purpose of assuring operation of all applications. Further, applications whose operation has been verified are encrypted by respective application-specific encryption keys, and the application platform is adapted in such a manner that only an encrypted application can be installed. As a result, when an application is installed, a license file containing decryption-key information is required to be installed together with the application file.
Accordingly, the application proper is made a host bundle that has been defined by the OSGI specifications. Further, a revised or extended portion of an application [an extended application program (also referred to simply as an “extended application”)] is made a fragment bundle that has been defined by the OSGi specifications. A “fragment bundle” is a bundle that does not perform any action by itself; the fragment bundle per se is attached to the class-loader space of the host bundle. If, when an application is revised or extended in such case, it is so arranged that the application is revised or extended using a fragment bundle, this is efficient because the size of the file installed is reduced.
However, in a case where an extended application is installed anew, the corresponding license file must be installed anew. Furthermore, in a case where a license file is downloaded upon being issued by a license issuing server, installation requires additional labor and operating efficiency declines as a consequence.